package com.wuwei.elearning.question.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wuwei.elearning.question.domain.Subject;
import com.wuwei.elearning.question.vo.SubjectImageVo;
import com.wuwei.elearning.question.vo.SubjectVoForElementUi;
import com.wuwei.elearning.utils.result.Result;
import com.wuwei.elearning.vo.PreviewUrlVo;
import com.wuwei.elearning.vo.SubjectDto;
import com.wuwei.elearning.vo.SubjectMapVo;
import com.wuwei.elearning.vo.SubjectVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wuwei
 * @since 2024-02-01
 */
public interface SubjectService extends IService<Subject> {

    List<SubjectVo> getTree();

    List<SubjectVo> getAllTree();

    void myDelete(Long id);

    void updateTree(List<SubjectVoForElementUi> subjectVos,Long account );

    HashMap<String,Object> getSubjectMapById(Long id);

    String mySave(Long account, SubjectDto subject);

    String myUpdate(Long account, SubjectDto subject);

    List<Subject> getLeafs();

    List<Subject> getZhizhaoLeafs();

    String updateService(Short onService, Long id);

    List<SubjectVoForElementUi> getAllTreeElementUI();


    PreviewUrlVo uploadCover(MultipartFile file, Long id);

    SubjectImageVo myGetById(Integer id);

    String updateNeedTest(Short needTest, Long id);
}
